﻿namespace UnityEditor
{
    using System;
    using System.Runtime.CompilerServices;
    using System.Runtime.InteropServices;
    using UnityEngine;

    public sealed class Lightmapping
    {
        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall]
        public static extern bool Bake();
        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall]
        public static extern bool BakeAsync();
        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall]
        public static extern bool BakeLightProbesOnly();
        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall]
        public static extern bool BakeLightProbesOnlyAsync();
        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall]
        public static extern bool BakeSelected();
        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall]
        public static extern bool BakeSelectedAsync();
        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall]
        public static extern void Cancel();
        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall]
        public static extern void Clear();
        [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall]
        public static extern void Tetrahedralize(Vector3[] positions, out int[] outIndices, out Vector3[] outPositions);

        public static bool isRunning { [MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] get; }
    }
}

